
; Test cases for the basic comparison operators

(define-test-suite compare-tests "compare-tests" (lambda ()
     
  (bool-test = (= 1 1) "(= 1 1)" #t)
  (bool-test = (= 1 2) "(= 1 2)" #f)
  (bool-test = (= 1 1 1) "(= 1 1 1)" #t)
  (bool-test = (= 1 2 3) "(= 1 2 3)" #f)
  (bool-test = (= 1 1 1 3) "(= 1 1 1 3)" #f)
  (bool-test = (= 1 1 1 1) "(= 1 1 1 1)" #t)
  (bool-test = (= 1 1 2 3) "(= 1 1 2 3)" #f)
  (bool-test = (= 1 1 1 3) "(= 1 1 1 3)" #f)

  (bool-test < (< 1 1) "(< 1 1)" #f)
  (bool-test < (< 1 2) "(< 1 2)" #t)
  (bool-test < (< 1 1 1) "(< 1 1 1)" #f)
  (bool-test < (< 1 2 3) "(< 1 2 3)" #t)
  (bool-test < (< 1 2 2) "(< 1 2 2)" #f)

  (bool-test <= (<= 1 1) "(<= 1 1)" #t)
  (bool-test <= (<= 1 2) "(<= 1 2)" #t)
  (bool-test <= (<= 2 1) "(<= 2 1)" #f)
  (bool-test <= (<= 1 1 1) "(<= 1 1 1)" #t)
  (bool-test <= (<= 1 2 3) "(<= 1 2 3)" #t)
  (bool-test <= (<= 1 2 2) "(<= 1 2 2)" #t)
  (bool-test <= (<= 1 2 1) "(<= 1 2 1)" #f)

  (bool-test > (> 1 1) "(> 1 1)" #f)
  (bool-test > (> 2 1) "(> 2 1)" #t)
  (bool-test > (> 1 1 1) "(> 1 1 1)" #f)
  (bool-test > (> 3 2 1) "(> 3 2 1)" #t)
  (bool-test > (> 2 1 1) "(> 2 1 1)" #f)

  (bool-test >= (>= 1 1) "(>= 1 1)" #t)
  (bool-test >= (>= 2 1) "(>= 2 1)" #t)
  (bool-test >= (>= 1 2) "(>= 1 2)" #f)
  (bool-test >= (>= 1 1 1) "(>= 1 1 1)" #t)
  (bool-test >= (>= 3 2 1) "(>= 3 2 1)" #t)
  (bool-test >= (>= 2 1 1) "(>= 2 1 1)" #t)
  (bool-test >= (>= 2 1 2) "(>= 2 1 2)" #f)
     
  ))